'''
Author: luqinghua
Date: 2025-03-23 18:07:49
LastEditors: luqinghua
LastEditTime: 2025-03-23 20:32:11
FilePath: \pywebview-vue\python\start.py
Description: 
'''
import webview
import sys
import os
import jsApi

if getattr(sys, "frozen", False):
    # 如果是打包后的可执行文件
    base_path = sys._MEIPASS
    # 定义 Vue 构建后的 HTML 文件路径
    html_file_path = os.path.join(base_path, "dist", "index.html")
else:
    # 如果是开发环境
    base_path = os.path.dirname(os.path.abspath(__file__))
    # 定义 Vue 构建后的 HTML 文件路径
    html_file_path = os.path.join(base_path, "http://localhost:5173")

# 配置 pywebview 关闭提示的中文翻译
chinese = {
    "global.quitConfirmation": "确定关闭?",
}


def create_window():
    api = jsApi.Api()  # 实例化 Api 类
    window = webview.create_window(
        title="pywebview vue",  # 窗口标题
        url=html_file_path,  # 加载的 URL
        min_size=(1400, 800),  # 最小尺寸
        # on_top=True,  # 是否始终置顶
        # confirm_close=True,  # 是否确认关闭
        # x=100,  # 窗口水平位置
        # y=100,  # 窗口垂直位置
        js_api=api,  # 将上面实例化后的 Api 对象传给前端 js 调用
        # frameless=False,  # 是否无边框
        # private_mode=False,  # 是否以隐私模式启动窗口。如果为 True，浏览器将不会保存浏览历史。
    )
    # --划重点--务必记得需要将上面创建的 window 对象再通过函数传给实例化后的 api 对象
    api.set_window(window)
    webview.start(localization=chinese)


if __name__ == "__main__":
    create_window()